home *** CD-ROM | disk | FTP | other *** search
- /*
- ** PGP5GUI - A GUI using Magic User Interface v3.8
- **
- ** Copyright 23-JUNE-1998 by Stefan Zakarias, All Rights Reserved.
- **
- ** This source code is released as FREEWARE - Use it for whatever you like,
- ** as long as NO financial reward is gained by you for such usage.
- **
- ** If you use any parts of the this source code for anything, give ME credit
- ** wherever credit is due, please ;-)
- */
-
- #ifndef MAKE_ID
- #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
- #endif
-
- /* Libraries */
- #include <libraries/mui.h>
- #include <libraries/gadtools.h> /* for Barlabel in MenuItem */
-
- #include <workbench/workbench.h>
- #include <workbench/startup.h>
-
- /* Prototypes */
- #ifdef __GNUC__
- #include <clib/muimaster_protos.h>
- #include <proto/alib.h>
- #else
- #include <proto/muimaster.h>
- #include <clib/alib_protos.h>
- #include <proto/dos.h>
- #endif
-
- #include <exec/memory.h>
-
- #include <proto/exec.h>
-
- #include "PGP5GUI.h"
-
- #ifndef __GNUC__
- #define REG(x) register __ ## x
- #endif
-
- extern LONG prev_EncClipMode, prev_DecClipMode, prev_SigClipMode, prev_AddKeysClipMode;
-
- extern LONG GetCycle(Object *obj);
-
- /*
- ** A function used by the Drag'n'Drop feature.
- ** We get the details we need about the AppMessage sent to us here and
- ** update the string gadget with the name of the file dropped on us.
- ** This particular function will only allow one object to be dropped on the
- ** on the string gadget - the last one selected!
- */
- static __saveds __asm LONG
- AppMsgFunc(REG(a2) APTR obj, REG(a1) struct AppMessage **x)
- {
- struct WBArg *ap;
- struct AppMessage *amsg = *x;
- int i;
- static char buf[256];
-
- for (ap=amsg->am_ArgList, i=0; i<amsg->am_NumArgs; i++,ap++)
- {
- NameFromLock(ap->wa_Lock, buf, sizeof(buf));
- AddPart(buf, ap->wa_Name, sizeof(buf));
-
- if (*(ap->wa_Name))
- set(obj,MUIA_String_Contents,buf);
- else
- DisplayBeep(0);
- }
-
- return(0);
- }
-
- static const struct Hook AppMsgHook =
- {
- { NULL,NULL },
- (VOID *)AppMsgFunc,
- NULL,
- NULL
- };
-
- struct ObjApp *
- CreateApp(void)
- {
- struct ObjApp * ObjectApp;
-
- APTR GROUP_PGP5GUI, GR_Encrypt, GR_Decrypt, GR_Sign;
- APTR GR_Keys_ADD, GR_Keys_EDIT, GR_Keys_MISC;
- APTR GR_Encrypt_DOIT, GR_Decrypt_DOIT, GR_Sign_DOIT, GR_KEYADD;
-
- APTR GR_KEYCHECK, GR_KEYDISABLE, GR_KEYEDIT, GR_KEYREMOVE, GR_REMOVESIG;
- APTR GR_REMOVEUID, GR_KEYREVOKE, GR_KEYREVSIG, GR_KEYSIGN, GR_KEYSIGNKEY;
-
- APTR GR_KEYGEN, GR_KEYEXTRACT, GR_KEYLIST, GR_KEYLIST_UPDATE;
-
- APTR REC_Dec1, REC_Dec2, REC_Dec3;
- APTR REC_Keys_Add1;
-
- if (!(ObjectApp = AllocVec(sizeof(struct ObjApp),MEMF_PUBLIC|MEMF_CLEAR)))
- return(NULL);
-
- ObjectApp->STR_TX_Status = "\33cInitializing";
-
- ObjectApp->STR_GR_Functions[0] = "Encrypt";
- ObjectApp->STR_GR_Functions[1] = "Decrypt";
- ObjectApp->STR_GR_Functions[2] = "Sign";
- ObjectApp->STR_GR_Functions[3] = "Keys";
- ObjectApp->STR_GR_Functions[4] = NULL;
-
- ObjectApp->CY_Encrypt_MODEContent[0] = "Public Key Encrypt";
- ObjectApp->CY_Encrypt_MODEContent[1] = "Public Key Encrypt And Sign";
- ObjectApp->CY_Encrypt_MODEContent[2] = "Conventional Encrypt (IDEA)";
- ObjectApp->CY_Encrypt_MODEContent[3] = NULL;
-
- ObjectApp->CY_Encrypt_USEARMORContent[0] = "No ASCII Armor";
- ObjectApp->CY_Encrypt_USEARMORContent[1] = "Use ASCII Armor";
- ObjectApp->CY_Encrypt_USEARMORContent[2] = NULL;
-
- ObjectApp->CY_Encrypt_TEXTMODEContent[0] = "Text Mode OFF";
- ObjectApp->CY_Encrypt_TEXTMODEContent[1] = "Text Mode ON";
- ObjectApp->CY_Encrypt_TEXTMODEContent[2] = NULL;
-
- ObjectApp->CY_Encrypt_CLIPContent[0] = "Encrypt From File To Default";
- ObjectApp->CY_Encrypt_CLIPContent[1] = "Encrypt From File To Clip";
- ObjectApp->CY_Encrypt_CLIPContent[2] = "Encrypt From Clip To File";
- ObjectApp->CY_Encrypt_CLIPContent[3] = "Encrypt From Clip To Clip";
- ObjectApp->CY_Encrypt_CLIPContent[4] = NULL;
-
- ObjectApp->CY_Decrypt_OUTTYPEContent[0] = "Output From File To Default";
- ObjectApp->CY_Decrypt_OUTTYPEContent[1] = "Output From File To Pager";
- ObjectApp->CY_Decrypt_OUTTYPEContent[2] = "Output From File To Clip";
- ObjectApp->CY_Decrypt_OUTTYPEContent[3] = "Output From Clip To File";
- ObjectApp->CY_Decrypt_OUTTYPEContent[4] = "Output From Clip To Pager";
- ObjectApp->CY_Decrypt_OUTTYPEContent[5] = "Output From Clip To Clip";
- ObjectApp->CY_Decrypt_OUTTYPEContent[6] = NULL;
-
- ObjectApp->CY_Sign_DETACHContent[0] = "Detached Signature OFF";
- ObjectApp->CY_Sign_DETACHContent[1] = "Detached Signature ON";
- ObjectApp->CY_Sign_DETACHContent[2] = NULL;
-
- ObjectApp->CY_Sign_MODEContent[0] = "No ASCII Armor";
- ObjectApp->CY_Sign_MODEContent[1] = "Use ASCII Armor";
- ObjectApp->CY_Sign_MODEContent[2] = NULL;
-
- ObjectApp->CY_Sign_TEXTMODEContent[0] = "Text Mode OFF";
- ObjectApp->CY_Sign_TEXTMODEContent[1] = "Text Mode ON";
- ObjectApp->CY_Sign_TEXTMODEContent[2] = NULL;
-
- ObjectApp->CY_Sign_CLIPContent[0] = "Sign From File To Default";
- ObjectApp->CY_Sign_CLIPContent[1] = "Sign From File To Clip";
- ObjectApp->CY_Sign_CLIPContent[2] = "Sign From Clip To File";
- ObjectApp->CY_Sign_CLIPContent[3] = "Sign From Clip To Clip";
- ObjectApp->CY_Sign_CLIPContent[4] = NULL;
-
- ObjectApp->STR_GR_Keys[0] = "Add";
- ObjectApp->STR_GR_Keys[1] = "Edit";
- ObjectApp->STR_GR_Keys[2] = "Misc";
- ObjectApp->STR_GR_Keys[3] = NULL;
-
- ObjectApp->CY_KeysAdd_CLIPContent[0] = "Add Key(s) From File";
- ObjectApp->CY_KeysAdd_CLIPContent[1] = "Add Key(s) From Clip";
- ObjectApp->CY_KeysAdd_CLIPContent[2] = NULL;
-
- ObjectApp->CY_Encrypt_MODE = CycleObject,
- MUIA_ObjectID, 1,
- MUIA_HelpNode, "ENCRYPT_MODE",
- MUIA_Cycle_Entries, ObjectApp->CY_Encrypt_MODEContent,
- End;
-
- ObjectApp->CY_Encrypt_USEARMOR = CycleObject,
- MUIA_ObjectID, 2,
- MUIA_HelpNode, "ASCII_ARMOR",
- MUIA_Cycle_Entries, ObjectApp->CY_Encrypt_USEARMORContent,
- End;
-
- ObjectApp->CY_Encrypt_TEXTMODE = CycleObject,
- MUIA_ObjectID, 3,
- MUIA_HelpNode, "TEXT_MODE",
- MUIA_Cycle_Entries, ObjectApp->CY_Encrypt_TEXTMODEContent,
- End;
-
- ObjectApp->CY_Encrypt_CLIP = CycleObject,
- MUIA_ObjectID, 4,
- MUIA_HelpNode, "Encrypt_CLIP",
- MUIA_Cycle_Entries, ObjectApp->CY_Encrypt_CLIPContent,
- End;
-
- ObjectApp->STR_PA_Encrypt_FROMFILE = StringObject,
- MUIA_ObjectID, 6,
- MUIA_Frame, MUIV_Frame_String,
- MUIA_HelpNode, "FILE_ENCRYPT",
- MUIA_String_MaxLen, 256,
- End;
-
- ObjectApp->IM_Pop_Enc = ImageObject,
- MUIA_Image_Spec, 19,
- MUIA_InputMode, MUIV_InputMode_RelVerify,
- MUIA_Weight, 0,
- MUIA_Frame, MUIV_Frame_ImageButton,
- MUIA_Image_FreeVert, TRUE,
- MUIA_Image_FreeHoriz, TRUE,
- MUIA_FixHeight, 10,
- MUIA_FixWidth, 8,
- MUIA_HelpNode, "Pop_ASLFile",
- End;
-
- ObjectApp->GR_Enc_File = GroupObject,
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "File To Encrypt",
- MUIA_Group_Columns, 2,
- Child, ObjectApp->STR_PA_Encrypt_FROMFILE,
- Child, ObjectApp->IM_Pop_Enc,
- End;
-
- ObjectApp->BT_Encrypt_DOIT = SimpleButton("Start Encryption!");
-
- GR_Encrypt_DOIT = GroupObject,
- MUIA_HelpNode, "ENCRYPT_FILE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Encrypt_DOIT,
- End;
-
- GR_Encrypt = GroupObject,
- MUIA_HelpNode, "Encrypt_Group",
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "File Encryption",
- Child, ObjectApp->CY_Encrypt_MODE,
- Child, ObjectApp->CY_Encrypt_USEARMOR,
- Child, ObjectApp->CY_Encrypt_TEXTMODE,
- Child, ObjectApp->CY_Encrypt_CLIP,
- Child, ObjectApp->GR_Enc_File,
- Child, GR_Encrypt_DOIT,
- End;
-
- REC_Dec1 = RectangleObject,
- MUIA_Rectangle_HBar, TRUE,
- MUIA_FixHeight, 8,
- End;
-
- ObjectApp->CY_Decrypt_OUTTYPE = CycleObject,
- MUIA_ObjectID, 10,
- MUIA_HelpNode, "DECRYPT_OUT",
- MUIA_Cycle_Entries, ObjectApp->CY_Decrypt_OUTTYPEContent,
- End;
-
- REC_Dec2 = RectangleObject,
- MUIA_Rectangle_HBar, TRUE,
- MUIA_FixHeight, 8,
- End;
-
- ObjectApp->STR_PA_Decrypt_TOFILE = StringObject,
- MUIA_ObjectID, 16,
- MUIA_Frame, MUIV_Frame_String,
- MUIA_HelpNode, "FILE_DECRYPT",
- MUIA_String_MaxLen, 256,
- End;
-
- ObjectApp->IM_Pop_Dec = ImageObject,
- MUIA_Image_Spec, 19,
- MUIA_InputMode, MUIV_InputMode_RelVerify,
- MUIA_Weight, 0,
- MUIA_Frame, MUIV_Frame_ImageButton,
- MUIA_Image_FreeVert, TRUE,
- MUIA_Image_FreeHoriz, TRUE,
- MUIA_FixHeight, 10,
- MUIA_FixWidth, 8,
- MUIA_HelpNode, "Pop_ASLFile",
- End;
-
- ObjectApp->GR_Dec_File = GroupObject,
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "File To Decrypt Or Verify",
- MUIA_Group_Columns, 2,
- Child, ObjectApp->STR_PA_Decrypt_TOFILE,
- Child, ObjectApp->IM_Pop_Dec,
- End;
-
- REC_Dec3 = RectangleObject,
- MUIA_Rectangle_HBar, TRUE,
- MUIA_FixHeight, 8,
- End;
-
- ObjectApp->BT_Decrypt_DOIT = SimpleButton("Start Decrypt/Verify!");
-
- GR_Decrypt_DOIT = GroupObject,
- MUIA_HelpNode, "DECRYPT_FILE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Decrypt_DOIT,
- End;
-
- GR_Decrypt = GroupObject,
- MUIA_HelpNode, "Decrypt_Group",
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "Decrypt/Verify",
- Child, REC_Dec1,
- Child, ObjectApp->CY_Decrypt_OUTTYPE,
- Child, REC_Dec2,
- Child, ObjectApp->GR_Dec_File,
- Child, REC_Dec3,
- Child, GR_Decrypt_DOIT,
- End;
-
- ObjectApp->CY_Sign_DETACH = CycleObject,
- MUIA_ObjectID, 20,
- MUIA_HelpNode, "SIGN_DETACH",
- MUIA_Cycle_Entries, ObjectApp->CY_Sign_DETACHContent,
- End;
-
- ObjectApp->CY_Sign_MODE = CycleObject,
- MUIA_ObjectID, 21,
- MUIA_HelpNode, "ASCII_ARMOR",
- MUIA_Cycle_Entries, ObjectApp->CY_Sign_MODEContent,
- End;
-
- ObjectApp->CY_Sign_TEXTMODE = CycleObject,
- MUIA_ObjectID, 22,
- MUIA_HelpNode, "TEXT_MODE",
- MUIA_Cycle_Entries, ObjectApp->CY_Sign_TEXTMODEContent,
- End;
-
- ObjectApp->CY_Sign_CLIP = CycleObject,
- MUIA_ObjectID, 23,
- MUIA_HelpNode, "Sign_CLIP",
- MUIA_Cycle_Entries, ObjectApp->CY_Sign_CLIPContent,
- End;
-
- ObjectApp->STR_PA_Sign_POPFILE = StringObject,
- MUIA_ObjectID, 26,
- MUIA_Frame, MUIV_Frame_String,
- MUIA_HelpNode, "FILE_SIGN",
- MUIA_String_MaxLen, 256,
- End;
-
- ObjectApp->IM_Pop_Sig = ImageObject,
- MUIA_Image_Spec, 19,
- MUIA_InputMode, MUIV_InputMode_RelVerify,
- MUIA_Weight, 0,
- MUIA_Frame, MUIV_Frame_ImageButton,
- MUIA_Image_FreeVert, TRUE,
- MUIA_Image_FreeHoriz, TRUE,
- MUIA_FixHeight, 10,
- MUIA_FixWidth, 8,
- MUIA_HelpNode, "Pop_ASLFile",
- End;
-
- ObjectApp->GR_Sig_File = GroupObject,
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "File To Sign",
- MUIA_Group_Columns, 2,
- Child, ObjectApp->STR_PA_Sign_POPFILE,
- Child, ObjectApp->IM_Pop_Sig,
- End;
-
- ObjectApp->BT_Sign_DOIT = SimpleButton("Start Signing!");
-
- GR_Sign_DOIT = GroupObject,
- MUIA_HelpNode, "SIGN_FILE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Sign_DOIT,
- End;
-
- GR_Sign = GroupObject,
- MUIA_HelpNode, "Sign_Group",
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "File Signing",
- Child, ObjectApp->CY_Sign_DETACH,
- Child, ObjectApp->CY_Sign_MODE,
- Child, ObjectApp->CY_Sign_TEXTMODE,
- Child, ObjectApp->CY_Sign_CLIP,
- Child, ObjectApp->GR_Sig_File,
- Child, GR_Sign_DOIT,
- End;
-
- ObjectApp->CY_KeysAdd_CLIP = CycleObject,
- MUIA_ObjectID, 30,
- MUIA_HelpNode, "KeysAdd_CLIP",
- MUIA_Cycle_Entries, ObjectApp->CY_KeysAdd_CLIPContent,
- End;
-
- ObjectApp->STR_PA_Keys_ADD_KEYFILE = StringObject,
- MUIA_ObjectID, 36,
- MUIA_Frame, MUIV_Frame_String,
- MUIA_HelpNode, "ADD_KEYFILE",
- MUIA_String_MaxLen, 256,
- End;
-
- ObjectApp->IM_Pop_Keys_AddFile = ImageObject,
- MUIA_Image_Spec, 19,
- MUIA_InputMode, MUIV_InputMode_RelVerify,
- MUIA_Weight, 0,
- MUIA_Frame, MUIV_Frame_ImageButton,
- MUIA_Image_FreeVert, TRUE,
- MUIA_Image_FreeHoriz, TRUE,
- MUIA_FixHeight, 10,
- MUIA_FixWidth, 8,
- MUIA_HelpNode, "Pop_ASLFile",
- End;
-
- ObjectApp->GR_Keys_AddFile = GroupObject,
- MUIA_Group_Columns, 2,
- Child, ObjectApp->STR_PA_Keys_ADD_KEYFILE,
- Child, ObjectApp->IM_Pop_Keys_AddFile,
- End;
-
- REC_Keys_Add1 = RectangleObject,
- MUIA_Rectangle_HBar, TRUE,
- MUIA_FixHeight, 8,
- End;
-
- ObjectApp->BT_Keys_ADD_KEYADD = SimpleButton("Add Key(s) To Keyring!");
-
- GR_KEYADD = GroupObject,
- MUIA_HelpNode, "ADD_KEYS",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_ADD_KEYADD,
- End;
-
- GR_Keys_ADD = GroupObject,
- MUIA_HelpNode, "Keys_ADD",
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "Add Key(s) From Source",
- Child, ObjectApp->CY_KeysAdd_CLIP,
- Child, ObjectApp->GR_Keys_AddFile,
- Child, REC_Keys_Add1,
- Child, GR_KEYADD,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYCHECK = SimpleButton("Check Key(s)");
-
- GR_KEYCHECK = GroupObject,
- MUIA_HelpNode, "ED_KEYCHECK",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYCHECK,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYDISABLE = SimpleButton("(En/Dis)able Key");
-
- GR_KEYDISABLE = GroupObject,
- MUIA_HelpNode, "ED_KEYDISABLE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYDISABLE,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYEDIT = SimpleButton("Edit A Key");
-
- GR_KEYEDIT = GroupObject,
- MUIA_HelpNode, "ED_KEYEDIT",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYEDIT,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYREMOVE = SimpleButton("Remove A Key");
-
- GR_KEYREMOVE = GroupObject,
- MUIA_HelpNode, "ED_KEYREMOVE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYREMOVE,
- End;
-
- ObjectApp->BT_Keys_EDIT_REMOVESIG = SimpleButton("Remove Signature");
-
- GR_REMOVESIG = GroupObject,
- MUIA_HelpNode, "ED_REMOVESIG",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_REMOVESIG,
- End;
-
- ObjectApp->BT_Keys_EDIT_REMOVEUID = SimpleButton("Remove User ID");
-
- GR_REMOVEUID = GroupObject,
- MUIA_HelpNode, "ED_REMOVEUID",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_REMOVEUID,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYREVOKE = SimpleButton("Revoke A Key");
-
- GR_KEYREVOKE = GroupObject,
- MUIA_HelpNode, "ED_KEYREVOKE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYREVOKE,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYREVSIG = SimpleButton("Revoke Signature");
-
- GR_KEYREVSIG = GroupObject,
- MUIA_HelpNode, "ED_KEYREVSIG",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYREVSIG,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYSIGN = SimpleButton( "Sign A Key");
-
- GR_KEYSIGN = GroupObject,
- MUIA_HelpNode, "ED_KEYSIGN",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYSIGN,
- End;
-
- ObjectApp->BT_Keys_EDIT_KEYSIGNKEY = SimpleButton( "Sign A Key Using...");
-
- GR_KEYSIGNKEY = GroupObject,
- MUIA_HelpNode, "ED_KEYSIGNKEY",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_EDIT_KEYSIGNKEY,
- End;
-
- GR_Keys_EDIT = GroupObject,
- MUIA_HelpNode, "Keys_EDIT",
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "Key Editing Functions",
- MUIA_Group_Rows, 5,
- Child, GR_KEYCHECK,
- Child, GR_KEYDISABLE,
- Child, GR_KEYEDIT,
- Child, GR_KEYREMOVE,
- Child, GR_REMOVESIG,
- Child, GR_REMOVEUID,
- Child, GR_KEYREVOKE,
- Child, GR_KEYREVSIG,
- Child, GR_KEYSIGN,
- Child, GR_KEYSIGNKEY,
- End;
-
- ObjectApp->BT_Keys_MISC_KEYGEN = SimpleButton("Generate Key Pair");
-
- GR_KEYGEN = GroupObject,
- MUIA_HelpNode, "MISC_KEYGEN",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_MISC_KEYGEN,
- End;
-
- ObjectApp->BT_Keys_MISC_KEYEXTRACT = SimpleButton("Extract Key(s) To File");
-
- GR_KEYEXTRACT = GroupObject,
- MUIA_HelpNode, "MISC_KEYEXTRACT",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_MISC_KEYEXTRACT,
- End;
-
- ObjectApp->BT_Keys_MISC_KEYLIST = SimpleButton("List Key(s)");
-
- GR_KEYLIST = GroupObject,
- MUIA_HelpNode, "MISC_KEYLIST",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_MISC_KEYLIST,
- End;
-
- ObjectApp->BT_Keys_MISC_KEYLIST_UPDATE = SimpleButton("Update Key Lister");
-
- GR_KEYLIST_UPDATE = GroupObject,
- MUIA_HelpNode, "MISC_KEYLIST_UPDATE",
- MUIA_Group_Columns, 1,
- Child, ObjectApp->BT_Keys_MISC_KEYLIST_UPDATE,
- End;
-
- GR_Keys_MISC = GroupObject,
- MUIA_HelpNode, "Keys_MISC",
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "Miscellaneous Key Functions",
- MUIA_Group_Rows, 4,
- Child, GR_KEYGEN,
- Child, GR_KEYEXTRACT,
- Child, GR_KEYLIST,
- Child, GR_KEYLIST_UPDATE,
- End;
-
- ObjectApp->GR_Keys = RegisterObject,
- MUIA_Register_Titles, ObjectApp->STR_GR_Keys,
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "PGP5 Key Functions",
- Child, GR_Keys_ADD,
- Child, GR_Keys_EDIT,
- Child, GR_Keys_MISC,
- End;
-
- ObjectApp->GR_Functions = RegisterObject,
- MUIA_Register_Titles, ObjectApp->STR_GR_Functions,
- MUIA_Frame, MUIV_Frame_Group,
- Child, GR_Encrypt,
- Child, GR_Decrypt,
- Child, GR_Sign,
- Child, ObjectApp->GR_Keys,
- End;
-
- ObjectApp->TX_Status = TextObject,
- MUIA_HelpNode, "TX_Status",
- MUIA_Background, MUII_TextBack,
- MUIA_Frame, MUIV_Frame_Text,
- MUIA_Text_Contents, ObjectApp->STR_TX_Status,
- MUIA_Text_SetMin, FALSE,
- End;
-
- ObjectApp->GR_Status = GroupObject,
- MUIA_Frame, MUIV_Frame_Group,
- MUIA_FrameTitle, "Status",
- Child, ObjectApp->TX_Status,
- End;
-
- GROUP_PGP5GUI = GroupObject,
- Child, ObjectApp->GR_Status,
- Child, ObjectApp->GR_Functions,
- End;
-
- ObjectApp->WI_Main = WindowObject,
- MUIA_Window_Title, "GUI for Amiga PGP 5...",
- MUIA_Window_ID, MAKE_ID('W', 'I', 'N', '1'),
- MUIA_Window_AppWindow, TRUE,
- MUIA_Window_NoMenus, TRUE,
- WindowContents, GROUP_PGP5GUI,
- End;
-
- ObjectApp->App = ApplicationObject,
- MUIA_Application_Author, "(C) Stefan Zakarias",
- MUIA_Application_Base, "PGP5GUI",
- MUIA_Application_Title, "PGP5GUI",
- MUIA_Application_Version, "$VER: PGP5GUI v1.7.4 ßeta (14.5.98)",
- MUIA_Application_HelpFile, "PGP:PGP5GUI.guide",
- SubWindow, ObjectApp->WI_Main,
- End;
-
- if (!ObjectApp->App)
- {
- FreeVec(ObjectApp);
- return(NULL);
- }
-
- DoMethod(ObjectApp->WI_Main,
- MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
- );
-
- DoMethod(ObjectApp->CY_Encrypt_CLIP,
- MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Enc_FILE_CLIP
- );
-
- DoMethod(ObjectApp->GR_Enc_File,
- MUIM_Notify, MUIA_AppMessage, MUIV_EveryTime,
- ObjectApp->STR_PA_Encrypt_FROMFILE,
- 3,
- MUIM_CallHook, &AppMsgHook, MUIV_TriggerValue
- );
-
- DoMethod(ObjectApp->IM_Pop_Enc,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Pop_Enc_File
- );
-
- DoMethod(ObjectApp->BT_Encrypt_DOIT,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Encrypt_DOIT
- );
-
- DoMethod(ObjectApp->CY_Decrypt_OUTTYPE,
- MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Decrypt_OUTTYPE
- );
-
- DoMethod(ObjectApp->GR_Dec_File,
- MUIM_Notify, MUIA_AppMessage, MUIV_EveryTime,
- ObjectApp->STR_PA_Decrypt_TOFILE,
- 3,
- MUIM_CallHook, &AppMsgHook, MUIV_TriggerValue
- );
-
- DoMethod(ObjectApp->IM_Pop_Dec,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Pop_Dec_File
- );
-
- DoMethod(ObjectApp->BT_Decrypt_DOIT,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Decrypt_DOIT
- );
-
- DoMethod(ObjectApp->CY_Sign_CLIP,
- MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Sig_FILE_CLIP
- );
-
- DoMethod(ObjectApp->GR_Sig_File,
- MUIM_Notify, MUIA_AppMessage, MUIV_EveryTime,
- ObjectApp->STR_PA_Sign_POPFILE,
- 3,
- MUIM_CallHook, &AppMsgHook, MUIV_TriggerValue
- );
-
- DoMethod(ObjectApp->IM_Pop_Sig,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Pop_Sig_File
- );
-
- DoMethod(ObjectApp->BT_Sign_DOIT,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Sign_DOIT
- );
-
- DoMethod(ObjectApp->CY_KeysAdd_CLIP,
- MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, AddKeys_FILE_CLIP
- );
-
- DoMethod(ObjectApp->GR_Keys_AddFile,
- MUIM_Notify, MUIA_AppMessage, MUIV_EveryTime,
- ObjectApp->STR_PA_Keys_ADD_KEYFILE,
- 3,
- MUIM_CallHook, &AppMsgHook, MUIV_TriggerValue
- );
-
- DoMethod(ObjectApp->IM_Pop_Keys_AddFile,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, Pop_Keys_AddFile
- );
-
- DoMethod(ObjectApp->BT_Keys_ADD_KEYADD,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, ADD_KEYADD
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYCHECK,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYCHECK
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYDISABLE,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYDISABLE
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYEDIT,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYEDIT
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYREMOVE,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYREMKEY
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_REMOVESIG,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYREMSIG
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_REMOVEUID,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYREMUID
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYREVOKE,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYREVOKE
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYREVSIG,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYREVSIG
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYSIGN,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYSIGN
- );
-
- DoMethod(ObjectApp->BT_Keys_EDIT_KEYSIGNKEY,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, EDIT_KEYSIGNKEY
- );
-
- DoMethod(ObjectApp->BT_Keys_MISC_KEYGEN,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, MISC_KEYGEN
- );
-
- DoMethod(ObjectApp->BT_Keys_MISC_KEYEXTRACT,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, MISC_KEYEXTRACT
- );
-
- DoMethod(ObjectApp->BT_Keys_MISC_KEYLIST,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, MISC_KEYLIST
- );
-
- DoMethod(ObjectApp->BT_Keys_MISC_KEYLIST_UPDATE,
- MUIM_Notify, MUIA_Pressed, FALSE,
- ObjectApp->App,
- 2,
- MUIM_Application_ReturnID, MISC_KEYLIST_UPDATE
- );
-
- DoMethod(ObjectApp->WI_Main,
- MUIM_Window_SetCycleChain, ObjectApp->GR_Functions,
- ObjectApp->CY_Encrypt_MODE,
- ObjectApp->CY_Encrypt_USEARMOR,
- ObjectApp->CY_Encrypt_TEXTMODE,
- ObjectApp->CY_Encrypt_CLIP,
- ObjectApp->STR_PA_Encrypt_FROMFILE,
- ObjectApp->IM_Pop_Enc,
- ObjectApp->BT_Encrypt_DOIT,
- ObjectApp->CY_Decrypt_OUTTYPE,
- ObjectApp->STR_PA_Decrypt_TOFILE,
- ObjectApp->IM_Pop_Dec,
- ObjectApp->BT_Decrypt_DOIT,
- ObjectApp->CY_Sign_DETACH,
- ObjectApp->CY_Sign_MODE,
- ObjectApp->CY_Sign_TEXTMODE,
- ObjectApp->CY_Sign_CLIP,
- ObjectApp->STR_PA_Sign_POPFILE,
- ObjectApp->IM_Pop_Sig,
- ObjectApp->BT_Sign_DOIT,
- ObjectApp->GR_Keys,
- ObjectApp->CY_KeysAdd_CLIP,
- ObjectApp->STR_PA_Keys_ADD_KEYFILE,
- ObjectApp->IM_Pop_Keys_AddFile,
- ObjectApp->BT_Keys_ADD_KEYADD,
- ObjectApp->BT_Keys_EDIT_KEYCHECK,
- ObjectApp->BT_Keys_EDIT_KEYDISABLE,
- ObjectApp->BT_Keys_EDIT_KEYEDIT,
- ObjectApp->BT_Keys_EDIT_KEYREMOVE,
- ObjectApp->BT_Keys_EDIT_REMOVESIG,
- ObjectApp->BT_Keys_EDIT_REMOVEUID,
- ObjectApp->BT_Keys_EDIT_KEYREVOKE,
- ObjectApp->BT_Keys_EDIT_KEYREVSIG,
- ObjectApp->BT_Keys_EDIT_KEYSIGN,
- ObjectApp->BT_Keys_EDIT_KEYSIGNKEY,
- ObjectApp->BT_Keys_MISC_KEYGEN,
- ObjectApp->BT_Keys_MISC_KEYEXTRACT,
- ObjectApp->BT_Keys_MISC_KEYLIST,
- ObjectApp->BT_Keys_MISC_KEYLIST_UPDATE,
- 0
- );
-
- DoMethod(ObjectApp->App, MUIM_Application_Load, MUIV_Application_Load_ENVARC);
-
- /* Get cycle gadget settings */
- prev_EncClipMode = GetCycle(ObjectApp->CY_Encrypt_CLIP);
- prev_DecClipMode = GetCycle(ObjectApp->CY_Decrypt_OUTTYPE);
- prev_SigClipMode = GetCycle(ObjectApp->CY_Sign_CLIP);
- prev_AddKeysClipMode = GetCycle(ObjectApp->CY_KeysAdd_CLIP);
-
- /* Ghost out gadgets if necessary */
- if (prev_EncClipMode == 1)
- {
- /* Encrypt from file to clipboard - Disable USEARMOR and TEXTMODE */
- DoMethod(ObjectApp->CY_Encrypt_CLIP, MUIM_MultiSet, MUIA_Disabled, TRUE,
- ObjectApp->CY_Encrypt_USEARMOR, ObjectApp->CY_Encrypt_TEXTMODE,
- NULL);
- }
- else
- {
- if (prev_EncClipMode >= 2)
- {
- /*
- ** Encrypt from clipboard - Turn off file name group
- ** and disable USEARMOR and TEXTMODE
- */
- DoMethod(ObjectApp->CY_Encrypt_CLIP, MUIM_MultiSet, MUIA_Disabled, TRUE,
- ObjectApp->GR_Enc_File, ObjectApp->CY_Encrypt_USEARMOR,
- ObjectApp->CY_Encrypt_TEXTMODE, NULL);
- }
- }
-
- if (prev_DecClipMode >= 3)
- {
- /* Output to clipboard - Turn off file name group */
- set(ObjectApp->GR_Dec_File, MUIA_Disabled, TRUE);
- }
-
- if (prev_SigClipMode == 1)
- {
- /*
- ** Sign from file to clipboard - Disable DETACH, USEARMOR and TEXTMODE
- */
- DoMethod(ObjectApp->CY_Sign_CLIP, MUIM_MultiSet, MUIA_Disabled, TRUE,
- ObjectApp->CY_Sign_DETACH, ObjectApp->CY_Sign_MODE,
- ObjectApp->CY_Sign_TEXTMODE, NULL);
- }
- else
- {
- if (prev_SigClipMode >= 2)
- {
- /*
- ** Sign from clipboard - Turn off file name group
- ** and disable DETACH, USEARMOR and TEXTMODE
- */
- DoMethod(ObjectApp->CY_Sign_CLIP, MUIM_MultiSet, MUIA_Disabled, TRUE,
- ObjectApp->GR_Sig_File, ObjectApp->CY_Sign_DETACH,
- ObjectApp->CY_Sign_MODE, ObjectApp->CY_Sign_TEXTMODE, NULL);
- }
- }
-
- if (prev_AddKeysClipMode == 1)
- {
- /*
- ** Output to clipboard - Turn off file name group
- */
- set(ObjectApp->GR_Keys_AddFile, MUIA_Disabled, TRUE);
- }
-
- /* Open the main window */
- set(ObjectApp->WI_Main, MUIA_Window_Open, TRUE);
-
- return(ObjectApp);
- }
-
- /*
- ** Shutdown the main application and clean up some resources used by it.
- */
- void DisposeApp(struct ObjApp *ObjectApp)
- {
- /* Save window, gadget settings, etc. */
- DoMethod(ObjectApp->App, MUIM_Application_Save, MUIV_Application_Save_ENVARC);
-
- /* Tell MUI to forget about it */
- MUI_DisposeObject(ObjectApp->App);
-
- /* Free the memory used by the structure */
- FreeVec(ObjectApp);
- }
-